package com.example.xiaoshuo_yudu.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;

/**
 * 作者:xuSen
 * 日期2025/7/21 12:14
 */
@Configuration
public class PasswordConfig {
    /**
     * 创建并配置密码编码器
     * 使用BCrypt算法进行密码编码，用于安全地存储和验证密码
     * 选择BCryptPasswordEncoder是因为它提供了一种强大的、不可逆的方式来加密密码，
     * 并且它还内置了盐值生成，可以防止彩虹表攻击
     *
     * @return PasswordEncoder接口的实现，用于对密码进行编码
     */
    @Bean
    public PasswordEncoder passwordEncoder(){
        return new BCryptPasswordEncoder();
    }
}
